package com.example.demo.mapper;

import com.example.demo.entity.Articleinfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.parameters.P;

import java.util.List;

/**
 * Created with IntelliJ IEDA.
 * Description:
 * User:86186
 * Date:2023-08-29
 * Time:21:10
 */
@Mapper
public interface ArticleMapper {
    /**
     * 查询文章总数
     */
    int getArtCountById(@Param("uid") Integer uid);

    /**
     * 查询文章列表
     */
    List<Articleinfo> getMyList(@Param("uid")Integer uid);

    /**
     * 删除文章
     */
    int del(@Param("id")Integer id,@Param("uid") Integer uid);

    /**
     * 查询文章详情
     */
    Articleinfo getDetail(@Param("id")Integer id);

    /**
     * 文章阅读量+1
     */
    int incrRCount(@Param("id")Integer id);

    /**
     * 添加文章
     */
    int add(Articleinfo articleinfo);

    /**
     * 修改文章
     */
    int update(Articleinfo articleinfo);

    /**
     * 文章分页功能
     */
    List<Articleinfo> getListByPage(@Param("psize")Integer psize,@Param("offsize")Integer offsize);

    /**
     * 查询总共有多少篇博客
     */
    int getCount();



    /**
     * 通过用户id获取文章信息
     */
    Articleinfo getByuid (@Param("id")Integer id);

    /**
     * 保存草稿
     */
    int SaveDraft(@Param("uid") Integer uid, @Param("title") String title, @Param("content") String content);

    /**
     * 添加修改后的文章进草稿箱
     */
    // 修改文章后置入草稿箱
    Integer updateToDraft(@Param("uid") Integer uid,@Param("id") Integer id,
                          @Param("title") String title, @Param("content") String content);

    /**
     * 搜索文章
     */
    List<Articleinfo> getMyListBySearch(@Param("psize")Integer psize,@Param("offsize")Integer offsize,@Param("searchblog")String searchblog);

}
